package cn.yangliu.jpa.annotations.qbc;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import cn.yangliu.jpa.enums.LinkTypeEnum;
import cn.yangliu.jpa.enums.QueryTypeEnum;


/**
 * The interface Jpa qbc query.
 *
 * @author 问道于盲
 */
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface JpaQbcQuery {

	/**
	 * Inner link link type enum.
	 *
	 * @return the link type enum
	 */
	LinkTypeEnum innerLink() default LinkTypeEnum.OR;

	/**
	 * Type query type enum.
	 *
	 * @return the query type enum
	 */
	QueryTypeEnum type() default QueryTypeEnum.EQ;

	/**
	 * Field string.
	 *
	 * @return the string
	 */
	String[] fields() default {};

	/**
	 * 排序号
	 *
	 * @return int
	 */
	int order() default Integer.MAX_VALUE;
}
